# **************************************
# --*-- coding: utf-8 --*--
# @Author  : white
# @FileName: scipy使用.py
# @Time    : 2025-08-22
# **************************************
# scipy.special 包含了大量的贝塞尔函数
# 我们使用函数jn 和 yn, 它们是第一类和第二类实值贝塞尔函数
# jn_zeros 和 yn_zeros 代表了jn 和 yn 函数的零点
#
# 调用绘图函数
import matplotlib.pyplot as plt

from scipy import *
from scipy.special import jn, yn, jn_zeros, yn_zeros
import scipy.linalg as la

n = 0
x = 0.0

# 第一类贝塞尔函数
print("J_%d(%f) = %f" % (n, x, jn(n, x)))
x = 1.0
# 第二类贝塞尔函数
print("Y_%d(%f) = %f" % (n, x, yn(n, x)))

x = linspace(0, 10, 100)

fig, ax = plt.subplots()
for n in range(4):
    ax.plot(x, jn(n, x), label=r"$J_%d(x)$" % n)
ax.legend()
